// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import store from '@/store/store.js'  // 确保在这里导入 store

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
    ...App,
    store // 将 store 添加到 Vue 实例中
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import store from '@/store/store.js'  // 确保在这里导入 store
import App from './App.vue'

export function createApp() {
  const app = createSSRApp(App)
  app.use(store)   // 这句别漏了
  return {
    app
  }
}
// #endif

import { $http } from '@escook/request-miniprogram';
uni.$http = $http
$http.baseUrl = "https://api-hmugo-web.itheima.net"

// 将 store 挂载到 uni 对象上
uni.$store = store;

// 封装的展示消息提示的方法
uni.$showMsg = function (title = "数据加载失败!", duration = 1500) {
  uni.showToast({
    title, duration, icon: "none"
  })
}

// 设置请求拦截器
uni.$http.beforRequest = function (options) {
  uni.showLoading({
    title: "数据加载中"
  })

  // 这里可以直接访问 store
  console.log('jjjj', uni.$store); // 访问挂载的 store

  // 判断请求的是否为有权限的API接口
  if (options.url.indexOf('/my/') !== -1) {
    console.log('进入验证')
    // 为请求添加身份证字段
    options.header = {
      // 字段的值可以直接从vuex中获取
      Authorization: uni.$store.state.m_user.token // 使用挂载的 store
    }
  }
}

// 设置响应拦截器
uni.$http.afterRequest = function () {
  uni.hideLoading()
}